#!groovy

@Library('opslibrary')_

    def map = [:]
    
    // git 参数
    map.put('git_credentials_id',"jenkins_git_id")
    map.put('git_url', "http://127.0.0.1:10080/dispute/manage-pro.git")
    map.put('git_default_branch',"dev")  // 默认选择构建的分支
    map.put('change_profile_dir',"0")  // 是否修改git仓库根路径，不修改置空
    map.put('git_profile_path',"fengqiao-ui/")  // git 仓库下存在子目录需要编译拼接(如果不需要切换写空值""")
    
    // 项目名称 如果是物理部署，会通过jar包和启动脚本名称引用
    map.put('project_name',"manage-pro")

    // dingtalk cred 用于发送构建失败通知
    map.put('robotId', "dingtalk")

    // ----------------- maven 构建参数 -----------------
    // mvn build环境参数 -Ptest -Pproduction nobuildconfig
    map.put('mvn_param', "") // -Ptest
    map.put('mvn_dev_param', "nobuildconfig") // -Ptest
    map.put('mvn_test_param', "nobuildconfig")
    map.put('mvn_pro_param', "nobuildconfig")

     // ----------------- vue 构建参数 -----------------
    // vue build参数 node npm/cnpm
    map.put('nodever', "node14")
    map.put('nodecmd', "cnpm")
    map.put('nodebuildtag', ":stage")  // npm 构建需要参数的情况，拼接

    // ----------------- docker 构建参数 -----------------
    // docker build
    map.put('dhub_cred',"ali-hub-zhangyu")
    map.put('registry',"registry-vpc.cn-beijing.aliyuncs.com")
    map.put('image_name',"bangyingpingtai/lawyer-tenant")
    map.put('dockersvc_type',"jar")
    map.put('dockerfilename',"dockerfile/lawyer-tenant-manager-back_dockerfile")

    // ----------------- vue部署 构建参数 -----------------
    // vue nginx deploy参数(通过环境识别目录 如/data/nginx/html/dev/项目名 )
    map.put('vue_server_path', "/data/nginx/html/")

    // vue k8s deploy参数(通过环境识别目录/home/wwwroot/环境/项目名 )
    map.put('vue_k8sserver_path', "/home/wwwroot/")

    // ----------------- k8s yaml部署 构建参数 -----------------
    // k8s deploy
    map.put('k8s_conn_yaml',"bangying-k8s")
    map.put('deploy_yaml',"dispute-pre2-manage-api.yaml")
    map.put('k8s_namespace', "dispute-pre2")

    // ----------------- ssh conn 构建参数 -----------------
    // ssh connect
    map.put('ssh_name',"ceshi-ssh")
    map.put('ssh_host',"172.30.10.219")   
    map.put('ssh_port', 61122)  
    map.put('ssh_cred', "ceshi-ssh")      

    // -----------------  docker-compose部署 构建参数 -----------------
    // docker deploy(通过环境识别目录/home/bangyingadmin/apps/环境/项目名 )
    map.put('d_compose_path', "/home/bangyingadmin/apps/")

    // ----------------- ansible部署 构建参数 -----------------
    // anible deploy 参数(通过拼接构建选择将执行的主机组 如dilf-test)
    map.put('ansible_hosts_file', "/home/jenkins/agent/ansible/hosts")
    map.put('ansible_host', "dilf")  // ansible_host+环境名称test 拼接

    // ----------------- 对应环境部署方式选择 构建参数 -----------------
    // env deploy 参数 k8s ssh ansible nodeploy
    map.put('pre_deploy', "nodeploy")
    map.put('dev_deploy', "nodeploy")
    map.put('test_deploy', "nodeploy") 
    map.put('pro_deploy', "nodeploy")

    // 开发语言 vue java 判断走那个Jenkins vars逻辑
    map.put('lang',"java") 

    if (map.lang == "vue"){ 
        nodecall(map)
    } 
    if (map.lang == "java"){
        mavencall(map)
    } 